Methods and systems for gathering and analyzing human biological signals

ABSTRACT

Introduced are methods and systems for: gathering human biological signals, such as heart rate, breathing rate, or temperature; analyzing the gathered human biological signals; and controlling home appliances based on the analysis.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority to the following U.S. provisionalpatent applications: U.S. provisional patent application Ser. No.62/008,480, filed Jun. 5, 2014; U.S. provisional patent application Ser.No. 62/024,945, filed Jul. 15, 2014; U.S. provisional patent applicationSer. No. 62/159,177, filed May 8, 2015; and U.S. provisional patentapplication Ser. No. 62/161,142, filed May 13, 2015; which applicationsare incorporated herein in their entirety and by this reference thereto.

TECHNICAL FIELD

Various embodiments relate generally to home automation devices, andhuman biological signal gathering and analysis.

BACKGROUND

According to current scientific research into sleep, there are two majorstages of sleep: rapid eye movement (“REM”) sleep, and non-REM sleep.First comes non-REM sleep, followed by a shorter period of REM sleep,and then the cycle starts over again.

There are three stages of non-REM sleep. Each stage can last from 5 to15 minutes. A person goes through all three stages before reaching REMsleep.

In stage one, a person's eyes are closed, but the person is easily wokenup. This stage may last for 5 to 10 minutes.

In stage two, a person is in light sleep. A person's heart rate slowsand the person's body temperature drops. The person's body is gettingready for deep sleep.

Stage three is the deep sleep stage. A person is harder to rouse duringthis stage, and if the person was woken up, the person would feeldisoriented for a few minutes. During the deep stages of non-REM sleep,the body repairs and regrows tissues, builds bone and muscle, andstrengthens the immune system.

REM sleep happens 90 minutes after a person falls asleep. Dreamstypically happen during REM sleep. The first period of REM typicallylasts 10 minutes. Each of later REM stages gets longer, and the finalone may last up to an hour. A person's heart rate and breathingquickens. A person can have intense dreams during REM sleep, since thebrain is more active. REM sleep affects learning of certain mentalskills.

Even in today's technological age, supporting healthy sleep is relegatedto the technology of the past such as an electric blanket, a heated pad,or a bed warmer. The most advanced of these technologies, an electricblanket, is a blanket with an integrated electrical heating device whichcan be placed above the top bed sheet or below the bottom bed sheet. Theelectric blanket may be used to pre-heat the bed before use or to keepthe occupant warm while in bed. However, turning on the electric blanketrequires the user to remember to manually turn on the blanket, and thenmanually turn it on. Further, the electric blanket provides noadditional functionality besides warming the bed.

SUMMARY

Introduced are methods and systems for: gathering human biologicalsignals, such as heart rate, breathing rate, or temperature; analyzingthe gathered human biological signals; and controlling home appliancesbased on the analysis.

In one embodiment of the invention, one or more user sensors, associatedwith a piece of furniture, such as a bed, measure the bio signalsassociated with a user, such as the heart rate associated with said useror breathing rate associated with said user. One or more environmentsensors measure the environment property such as temperature, humidity,light, or sound. Based on the bio signals associated with said user andenvironment properties received, the system determines the time at whichto send an instruction to an appliance to turn on or to turn off. In oneembodiment, the appliance is a bed device, capable of heating or coolingthe user's bed. In another embodiment, the appliance is a thermostat, alight, a coffee machine, or a humidifier.

In another embodiment of the invention, based on the heart rate,temperature, and breathing rate, associated with a user, the systemdetermines the sleep phase associated with said user. Based on the sleepphase and the user-specified wake-up time, the system determines a timeto wake up the user, so that the user does not feel tired or disorientedwhen woken up.

BRIEF DESCRIPTION OF THE DRAWINGS

These and other objects, features and characteristics of the presentembodiments will become more apparent to those skilled in the art from astudy of the following detailed description in conjunction with theappended claims and drawings, all of which form a part of thisspecification. While the accompanying drawings include illustrations ofvarious embodiments, the drawings are not intended to limit the claimedsubject matter.

FIG. 1 is a diagram of a bed device, according to one embodiment.

FIG. 2 illustrates an example of a bed device, according to oneembodiment.

FIG. 3 illustrates an example of layers comprising a bed pad device,according to one embodiment.

FIG. 4 illustrates a user sensor placed on a sensor strip, according toone embodiment.

FIGS. 5A, 5B, 5C, and 5D show different configurations of a sensorstrip, to fit different size mattresses, according to one embodiment.

FIG. 6A illustrates the division of the heating coil into zones andsubzones, according to one embodiment.

FIGS. 6B and 6C illustrate the independent control of the differentsubzones, according to one embodiment.

FIG. 7 is a flowchart of the process for deciding when to heat or coolthe bed device, according to one embodiment.

FIG. 8 is a flowchart of the process for recommending a bed time to auser, according to one embodiment.

FIG. 9 is a flowchart of the process for activating the user's alarm,according to one embodiment.

FIG. 10 is a flowchart of the process for turning off an appliance,according to one embodiment.

FIG. 11 is a diagram of a system capable of automating the control ofthe home appliances, according to one embodiment.

FIG. 12 is an illustration of the system capable of controlling anappliance and a home, according to one embodiment.

FIG. 13 is a flowchart of the process for controlling an appliance,according to one embodiment.

FIG. 14 is a flowchart of the process for controlling an appliance,according to another embodiment.

FIG. 15 is a diagram of a system for monitoring biological signalsassociated with a user, and providing notifications or alarms, accordingto one embodiment.

FIG. 16 is a flowchart of a process for generating a notification basedon a history of biological signals associated with a user, according toone embodiment.

FIG. 17 is a flowchart of a process for generating a comparison betweena biological signal associated with a user and a target biologicalsignal, according to one embodiment.

FIG. 18 is a flowchart of a process for detecting the onset of adisease, according to one embodiment.

FIG. 19 is a diagrammatic representation of a machine in the exampleform of a computer system within which a set of instructions, forcausing the machine to perform any one or more of the methodologies ormodules discussed herein, may be executed.

DETAILED DESCRIPTION

Examples of a method, apparatus, and computer program for automating thecontrol of home appliances and improving the sleep environment aredisclosed below. In the following description, for the purposes ofexplanation, numerous specific details are set forth in order to providea thorough understanding of the embodiments of the invention. Oneskilled in the art will recognize that the embodiments of the inventionmay be practiced without these specific details or with an equivalentarrangement. In other instances, well-known structures and devices areshown in block diagram form in order to avoid unnecessarily obscuringthe embodiments of the invention.

Terminology

Brief definitions of terms, abbreviations, and phrases used throughoutthis application are given below.

In this specification, the term “biological signal” and “bio signal” aresynonyms, and are used interchangeably.

Reference in this specification to “sleep phase” means light sleep, deepsleep, or REM sleep. Light sleep comprises stage one and stage two,non-REM sleep.

Reference in this specification to “one embodiment” or “an embodiment”means that a particular feature, structure, or characteristic describedin connection with the embodiment is included in at least one embodimentof the disclosure. The appearances of the phrase “in one embodiment” invarious places in the specification are not necessarily all referring tothe same embodiment, nor are separate or alternative embodimentsmutually exclusive of other embodiments. Moreover, various features aredescribed that may be exhibited by some embodiments and not by others.Similarly, various requirements are described that may be requirementsfor some embodiments but not others.

Unless the context clearly requires otherwise, throughout thedescription and the claims, the words “comprise,” “comprising,” and thelike are to be construed in an inclusive sense, as opposed to anexclusive or exhaustive sense; that is to say, in the sense of“including, but not limited to.” As used herein, the terms “connected,”“coupled,” or any variant thereof, means any connection or coupling,either direct or indirect, between two or more elements. The coupling orconnection between the elements can be physical, logical, or acombination thereof. For example, two devices may be coupled directly,or via one or more intermediary channels or devices. As another example,devices may be coupled in such a way that information can be passedthere between, while not sharing any physical connection with oneanother. Additionally, the words “herein,” “above,” “below,” and wordsof similar import, when used in this application, shall refer to thisapplication as a whole and not to any particular portions of thisapplication. Where the context permits, words in the DetailedDescription using the singular or plural number may also include theplural or singular number respectively. The word “or,” in reference to alist of two or more items, covers all of the following interpretationsof the word: any of the items in the list, all of the items in the list,and any combination of the items in the list.

If the specification states a component or feature “may,” “can,”“could,” or “might” be included or have a characteristic, thatparticular component or feature is not required to be included or havethe characteristic.

The term “module” refers broadly to software, hardware, or firmwarecomponents (or any combination thereof). Modules are typicallyfunctional components that can generate useful data or another outputusing specified input(s). A module may or may not be self-contained. Anapplication program (also called an “application”) may include one ormore modules, or a module may include one or more application programs.

The terminology used in the Detailed Description is intended to beinterpreted in its broadest reasonable manner, even though it is beingused in conjunction with certain examples. The terms used in thisspecification generally have their ordinary meanings in the art, withinthe context of the disclosure, and in the specific context where eachterm is used. For convenience, certain terms may be highlighted, forexample using capitalization, italics, and/or quotation marks. The useof highlighting has no influence on the scope and meaning of a term; thescope and meaning of a term is the same, in the same context, whether ornot it is highlighted. It will be appreciated that the same element canbe described in more than one way.

Consequently, alternative language and synonyms may be used for any oneor more of the terms discussed herein, but special significance is notto be placed upon whether or not a term is elaborated or discussedherein. A recital of one or more synonyms does not exclude the use ofother synonyms. The use of examples anywhere in this specification,including examples of any terms discussed herein, is illustrative onlyand is not intended to further limit the scope and meaning of thedisclosure or of any exemplified term. Likewise, the disclosure is notlimited to various embodiments given in this specification.

Bed Device

FIG. 1 is a diagram of a bed device, according to one embodiment. Anynumber of user sensors 140, 150 monitor the bio signals associated witha user, such as the heart rate, the breathing rate, the temperature,motion, or presence, associated with said user. Any number ofenvironment sensors 160, 170 monitor environment properties, such astemperature, sound, light, or humidity. The user sensors 140, 150 andthe environment sensors 160, 170 communicate their measurements to theprocessor 100. The environment sensors 160, 170, measure the propertiesof the environment that the environment sensors 160, 170 are associatedwith. In one embodiment, the environment sensors 160, 170 are placednext to the bed. The processor 100 determines, based on the bio signalsassociated with said user, historical bio signals associated with saiduser, user-specified preferences, exercise data associated with saiduser, or the environment properties received, a control signal, and atime to send said control signal to a bed device 120.

FIG. 2 illustrates an example of the bed device of FIG. 1, according toone embodiment. A user sensor 210, associated with a mattress 200 of thebed device 120, monitors bio signals associated with a user sleeping onthe mattress 200. The user sensor 210 can be built into the mattress200, or can be part of a bed pad device. Alternatively, the user sensor210 can be a part of any other piece of furniture, such as a rockingchair, a couch, an armchair etc. The user sensor 210 comprises atemperature sensor, or a piezo sensor. The environment sensor 220measures environment properties such as temperature, sound, light orhumidity. According to one embodiment, the environment sensor 220 isassociated with the environment surrounding the mattress 200. The usersensor 210 and the environment sensor 220 communicate the measuredenvironment properties to the processor 230. In some embodiments, theprocessor 230 can be similar to the processor 100 of FIG. 1 A processor230 can be connected to the user sensor 210, or the environment sensor220 by a computer bus, such as an I2C bus. Also, the processor 230 canbe connected to the user sensor 210, or the environment sensor 220 by acommunication network. By way of example, the communication networkconnecting the processor 230 to the user sensor 210, or the environmentsensor 220 includes one or more networks such as a data network, awireless network, a telephony network, or any combination thereof. Thedata network may be any local area network (LAN), metropolitan areanetwork (MAN), wide area network (WAN), a public data network (e.g., theInternet), short range wireless network, or any other suitablepacket-switched network, such as a commercially owned, proprietarypacket-switched network, e.g., a proprietary cable or fiber-opticnetwork, and the like, or any combination thereof. In addition, thewireless network may be, for example, a cellular network and may employvarious technologies including enhanced data rates for global evolution(EDGE), general packet radio service (GPRS), global system for mobilecommunications (GSM), Internet protocol multimedia subsystem (IMS),universal mobile telecommunications system (UMTS), etc., as well as anyother suitable wireless medium, e.g., worldwide interoperability formicrowave access (WiMAX), Long Term Evolution (LTE) networks, codedivision multiple access (CDMA), wideband code division multiple access(WCDMA), wireless fidelity (WiFi), wireless LAN (WLAN), Bluetooth®,Internet Protocol (IP) data casting, satellite, mobile ad-hoc network(MANET), and the like, or any combination thereof.

The processor 230 is any type of microcontroller, or any processor in amobile terminal, fixed terminal, or portable terminal including a mobilehandset, station, unit, device, multimedia computer, multimedia tablet,Internet node, cloud computer, communicator, desktop computer, laptopcomputer, notebook computer, netbook computer, tablet computer, personalcommunication system (PCS) device, personal navigation device, personaldigital assistants (PDAs), audio/video player, digital camera/camcorder,positioning device, television receiver, radio broadcast receiver,electronic book device, game device, the accessories and peripherals ofthese devices, or any combination thereof.

FIG. 3 illustrates an example of layers comprising the bed pad device ofFIG. 1, according to one embodiment. In some embodiments, the bed paddevice 120 is a pad that can be placed on top of the mattress. Bed paddevice 120 comprises a number of layers. A top layer 350 comprisesfabric. A layer 340 comprises batting, and a sensor strip 330. A layer320 comprises coils for cooling or heating the bed device. A layer 310comprises waterproof material.

FIG. 4 illustrates a user sensor 420, 440, 450, 470 placed on a sensorstrip 400, according to one embodiment. In some embodiments, the usersensors 420, 440, 450, 470 can be similar to or part of the user sensor210 of FIG. 2. Sensors 470 and 440 comprise a piezo sensor, which canmeasure a bio signal associated with a user, such as the heart rate andthe breathing rate. Sensors 450 and 420 comprise a temperature sensor.According to one embodiment, sensors 450, and 470 measure the biosignals associated with one user, while sensors 420, 440 measure the biosignals associated with another user. Analog-to-digital converter 410converts the analog sensor signals into digital signals to becommunicated to a processor. Computer bus 430 and 460, such as the I2Cbus, communicates the digitized bio signals to a processor.

FIGS. 5A and 5B show different configurations of the sensor strip, tofit different size mattresses, according to one embodiment. FIGS. 5C and5D show how such different configurations of the sensor strip can beachieved. Specifically, sensor strip 400 comprises a computer bus 510,530, and a sensor striplet 505. The computer bus 510, 530 can be bent atpredetermined locations 540, 550, 560, 570. Bending the computer bus 515at location 540 produces the maximum total length of the computer bus530. Computer bus 530 combined with a sensor striplet 505, fits a kingsize mattress 520. Bending the computer bus 515 at location 570 producesthe smallest total length of the computer bus, 510. Computer bus 510combined with a sensor striplet 505, fits a twin size mattress 500.Bending the computer bus 515 at location 560, enables the sensor strip400 to fit a full-size bed. Bending the computer bus 515 at location 550enables the sensor strip 400 to fit a queen-size bed. In someembodiments, twin mattress 500, or king mattress 520 can be similar tothe mattress 200 of FIG. 2.

FIG. 6A illustrates the division of the heating coil 600 into zones andsubzones, according to one embodiment. Specifically, the heating coil600 is divided into two zones 660 and 610, each corresponding to oneuser of the bed. Each zone 660 and 610 can be heated or cooledindependently of the other zone in response to the user's needs. Toachieve independent heating of the two zones 660 and 610, the powersupply associated with the heating coil 600 is divided into two zones,each power supply zone corresponding to a single user zone 660, 610.Further, each zone 660 and 610 is further subdivided into subzones. Zone660 is divided into subzones 670, 680, 690, and 695. Zone 610 is dividedinto subzones 620, 630, 640, and 650. The distribution of coils in eachsubzone is configured so that the subzone is uniformly heated. However,the subzones may differ among themselves in the density of coils. Forexample, the data associated with said user subzone 670 has lowerdensity of coils than subzone 680. This will result in subzone 670having lower temperature than subzone 680, when the coils are heated.Similarly, when the coils are used for cooling, subzones 670 will havehigher temperature than subzone 680. According to one embodiment,subzones 680 and 630 with highest coil density correspond to the user'slower back; and subzones 695 and 650 with highest coil densitycorrespond to user's feet. According to one embodiment, even if theusers switch sides of the bed, the system will correctly identify whichuser is sleeping in which zone by identifying the user based on any ofthe following signals alone, or in combination: heart rate, breathingrate, body motion, or body temperature associated with said user.

In another embodiment, the power supply associated with the heating coil600 is divided into a plurality of zones, each power supply zonecorresponding to a subzone 620, 630, 640, 650, 670, 680, 690, 695. Theuser can control the temperature of each subzone 620, 630, 640, 650,670, 680, 690, 695 independently. Further, each user can independentlyspecify the temperature preferences for each of the subzones. Even ifthe users switch sides of the bed, the system will correctly identifythe user, and the preferences associated with the user by identifyingthe user based on any of the following signals alone, or in combination:heart rate, breathing rate, body motion, or body temperature associatedwith said user.

FIGS. 6B and 6C illustrate the independent control of the differentsubzones in each zone 610, 660, according to one embodiment. Set ofuniform coils 611, connected to power management box 601, uniformlyheats or cools the bed. Another set of coils, targeting specific areasof the body such as the neck, the back, the legs, or the feet, islayered on top of the uniform coils 611. Subzone 615 heats or cools theneck. Subzone 625 heats or cools the back. Subzone 635 heats or coolsthe legs, and subzone 645 heats or cools the feet. Power is distributedto the coils via duty cycling of the power supply 605. Contiguous setsof coils can be heated or cooled at different levels by assigning thepower supply duty cycle to each set of coils. The user can control thetemperature of each subzone independently.

FIG. 7 is a flowchart of the process for deciding when to heat or coolthe bed device, according to one embodiment. At block 700, the processobtains a biological signal associated with a user, such as presence inbed, motion, breathing rate, heart rate, or a temperature. The processobtains said biological signal from a sensor associated with a user.Further, at block 710, the process obtains environment property, such asthe amount of ambient light and the bed temperature. The process obtainsenvironment property from and environment sensor associated with the beddevice. If the user is in bed, the bed temperature is low, and theambient light is low, the process sends a control signal to the beddevice. The control signal comprises an instruction to heat the beddevice to the average nightly temperature associated with said user.According to another embodiment, the control signal comprises aninstruction to heat the bed device to a user-specified temperature.Similarly, if the user is in bed, the bed temperature is high, and theambient light is low, the process sends a control signal to the beddevice to cool the bed device to the average nightly temperatureassociated with said user. According to another embodiment, the controlsignal comprises an instruction to cool the bed device to auser-specified temperature.

In another embodiment, in addition to obtaining the biological signalassociated with said user, and the environment property, the processobtains a history of biological signals associated with said user. Thehistory of biological signals can be stored in a database associatedwith the bed device, or in a database associated with a user. Thehistory of biological signals comprises the average bedtime the userwent to sleep for each day of the week; that is, the history ofbiological signals comprises the average bedtime associated with saiduser on Monday, the average bedtime associated with said user onTuesday, etc. For a given day of the week, the process determines theaverage bedtime associated with said user for that day of the week, andsends the control signal to the bed device, allowing enough time for thebed to reach the desired temperature, before the average bedtimeassociated with said user. The control signal comprises an instructionto heat, or cool the bed to a desired temperature. The desiredtemperature may be automatically determined, such as by averaging thehistorical nightly temperature associated with a user, or the desiredtemperature may be specified by the user.

Bio Signal Processing

The technology disclosed here categorizes the sleep phase associatedwith a user as light sleep, deep sleep, or REM sleep. Light sleepcomprises stage one and stage two sleep. The technology performs thecategorization based on the breathing rate associated with said user,heart rate associated with said user, motion associated with said user,and body temperature associated with said user. Generally, when saiduser is awake the breathing is erratic. When the user is sleeping, thebreathing becomes regular. The transition between being awake andsleeping is quick, and lasts less than 1 minute.

FIG. 8 is a flowchart of the process for recommending a bed time to theuser, according to one embodiment. At block 800, the process obtains ahistory of sleep phase information associated with said user. Thehistory of sleep phase information comprises an amount of time the userspent in each of the sleep phases, light sleep, deep sleep, or REMsleep. The history of sleep phase information can be stored in adatabase associated with the user. Based on this information, theprocess determines how much light sleep, deep sleep, and REM sleep, theuser needs on average every day. In another embodiment, the history ofsleep phase information comprises the average bedtime associated withsaid user for each day of the week (e.g. the average bedtime associatedwith said user on Monday, the average bedtime associated with said useron Tuesday, etc.). At block 810, the process obtains user-specifiedwake-up time, such as the alarm setting associated with said user. Atblock 820, the process obtains exercise information associated with saiduser, such as the distance the user ran that day, the amount of time theuser exercised in the gym, or the amount of calories the user burnedthat day. According to one embodiment, the process obtains said exerciseinformation from a user phone, a wearable device, a fitbit bracelet, ora database storing said exercise information. Based on all thisinformation, at block 830, the process recommends a bedtime to the user.For example, if the user has not been getting enough deep and REM sleepin the last few days, the process recommends an earlier bedtime to theuser. Also, if the user has exercised more than the average dailyexercise, the process recommends an earlier bedtime to the user.

FIG. 9 is a flowchart of the process for activating a user's alarm,according to one embodiment. At block 900, the process obtains thecompound bio signal associated with said user. The compound bio signalassociated with said user comprises the heart rate associated with saiduser, and the breathing rate associated with said user. According to oneembodiment, the process obtains the compound bio signal from a sensorassociated with said user. At block 910, the process extracts the heartrate signal from the compound bio signal. For example, the processextracts the heart rate signal associated with said user by performinglow-pass filtering on the compound bio signal. Also, at block 920, theprocess extracts the breathing rate signal from the compound bio signal.For example, the process extracts the breathing rate by performingbandpass filtering on the compound bio signal. The breathing rate signalincludes breath duration, pauses between breaths, as well as breaths perminute. At block 930, the process obtains user's wake-up time, such asthe alarm setting associated with said user. Based on the heart ratesignal and the breathing rate signal, the process determines the sleepphase associated with said user, and if the user is in light sleep, andcurrent time is at most one hour before the alarm time, at block 940,the process activates an alarm. Waking up the user during the deep sleepor REM sleep is detrimental to the user's health because the user willfeel disoriented, groggy, and will suffer from impaired memory.Consequently, at block 950, the process activates an alarm, when theuser is in light sleep and when the current time is at most one hourbefore the user specified wake-up time.

FIG. 10 is a flowchart of the process for turning off an appliance,according to one embodiment. At block 1000, the process obtains thecompound bio signal associated with said user. The compound bio signalcomprises the heart rate associated with said user, and the breathingrate associated with said user. According to one embodiment, the processobtains the compound bio signal from a sensor associated with said user.At block 1010, the process extracts the heart rate signal from thecompound bio signal by, for example, performing low-pass filtering onthe compound bio signal. Also, at block 1020, the process extracts thebreathing rate signal from the compound bio signal by, for example,performing bandpass filtering on the compound bio signal. At block 1030,the process obtains an environment property, comprising temperature,humidity, light, sound from an environment sensor associated with saiduser sensor. Based on the environment property and the sleep stateassociated with said user, at block 1040, the process determines whetherthe user is sleeping. If the user is sleeping, the process, at block1050, turns an appliance off. For example, if the user is asleep and theenvironment temperature is above the average nightly temperature, theprocess turns off the thermostat. Further, if the user is asleep and thelights are on, the process turns off the lights. Similarly, if the useris asleep and the TV is on, the process turns off the TV.

Smart Home

FIG. 11 is a diagram of a system capable of automating the control ofthe home appliances, according to one embodiment. Any number of usersensors 1140, 1150 monitor biological signals associated with said user,such as temperature, motion, presence, heart rate, or breathing rate.Any number of environment sensors 1160, 1170 monitor environmentproperties, such as temperature, sound, light, or humidity. According toone embodiment, the environment sensors 1160, 1170 are placed next to abed. The user sensors 1140, 1150 and the environment sensors 1160, 1170communicate their measurements to the processor 1100. The processor 1100determines, based on the current biological signals associated with saiduser, historical biological signals associated with said user,user-specified preferences, exercise data associated with said user, andthe environment properties received, a control signal, and a time tosend said control signal to an appliance 1120, 1130.

The processor 1100 is any type of microcontroller, or any processor in amobile terminal, fixed terminal, or portable terminal including a mobilehandset, station, unit, device, multimedia computer, multimedia tablet,Internet node, cloud computer, communicator, desktop computer, laptopcomputer, notebook computer, netbook computer, tablet computer, personalcommunication system (PCS) device, personal navigation device, personaldigital assistants (PDAs), audio/video player, digital camera/camcorder,positioning device, television receiver, radio broadcast receiver,electronic book device, game device, the accessories and peripherals ofthese devices, or any combination thereof.

The processor 1100 can be connected to the user sensor 1140, 1150, orthe environment sensor 1160, 1170 by a computer bus, such as an I2C bus.Also, the processor 1100 can be connected to the user sensor 1140, 1150,or environment sensor 1160, 1170 by a communication network 1110. By wayof example, the communication network 1110 connecting the processor 1100to the user sensor 1140, 1150, or the environment sensor 1160, 1170includes one or more networks such as a data network, a wirelessnetwork, a telephony network, or any combination thereof. The datanetwork may be any local area network (LAN), metropolitan area network(MAN), wide area network (WAN), a public data network (e.g., theInternet), short range wireless network, or any other suitablepacket-switched network, such as a commercially owned, proprietarypacket-switched network, e.g., a proprietary cable or fiber-opticnetwork, and the like, or any combination thereof. In addition, thewireless network may be, for example, a cellular network and may employvarious technologies including enhanced data rates for global evolution(EDGE), general packet radio service (GPRS), global system for mobilecommunications (GSM), Internet protocol multimedia subsystem (IMS),universal mobile telecommunications system (UMTS), etc., as well as anyother suitable wireless medium, e.g., worldwide interoperability formicrowave access (WiMAX), Long Term Evolution (LTE) networks, codedivision multiple access (CDMA), wideband code division multiple access(WCDMA), wireless fidelity (WiFi), wireless LAN (WLAN), Bluetooth®,Internet Protocol (IP) data casting, satellite, mobile ad-hoc network(MANET), and the like, or any combination thereof.

FIG. 12 is an illustration of the system capable of controlling anappliance and a home, according to one embodiment. The appliances, thatthe system disclosed here can control, comprise an alarm, a coffeemachine, a lock, a thermostat, a bed device, a humidifier, or a light.For example, the system detects that the user has fallen asleep, thesystem sends a control signal to the lights to turn off, to the locks toengage, and to the thermostat to lower the temperature. According toanother example, if the system detects that the user has woken up and itis morning, the system sends a control signal to the coffee machine tostart making coffee.

FIG. 13 is a flowchart of the process for controlling an appliance,according to one embodiment. In one embodiment, at block 1300, theprocess obtains history of biological signals, such as at what time doesthe user go to bed on a particular day of the week (e.g. the averagebedtime associated with said user on Monday, the average bedtimeassociated with said user on Tuesday etc.). The history of biologicalsignals can be stored in a database associated with the user, or in adatabase associated with the bed device. In another embodiment, at block1300, the process also obtains user specified preferences, such as thepreferred bed temperature associated with said user. Based on thehistory of biological signals and user-specified preferences, theprocess, at block 1320, determines a control signal, and a time to sendsaid control signal to an appliance. It block 1330, the processdetermines whether to send a control signal to an appliance. Forexample, if the current time is within half an hour of average bedtimeassociated with said user on that particular day of the week, theprocess, at block 1340, sends a control signal to an appliance. Forexample, the control signal comprises an instruction to turn on the beddevice, and the user specified bed temperature. Alternatively, the bedtemperature is determined automatically, such as by calculating theaverage nightly bed temperature associated with a user.

According to another embodiment, at block 1300, the process obtains acurrent biological signal associated with a user from a sensorassociated with said user. At block 1310, the process also obtainsenvironment data, such as the ambient light, from an environment sensorassociated with a bed device. Based on the current biological signal,the process identifies whether the user is asleep. If the user is asleepand the lights are on, the process sends an instruction to turn off thelights. In another embodiment, if the user is asleep, the lights areoff, and the ambient light is high, the process sends an instruction tothe blinds to shut. In another embodiment, if the user is asleep, theprocess sends an instruction to the locks to engage.

In another embodiment, the process, at block 1300, obtains history ofbiological signals, such as at what time the user goes to bed on aparticular day of the week (e.g. the average bedtime associated withsaid user on Monday, the average bedtime associated with said user onTuesday etc.). The history of biological signals can be stored in adatabase associated with the bed device, or in a database associatedwith a user. Alternatively, the user may specify a bedtime for the userfor each day of the week. Further, the process obtains the exercise dataassociated with said user, such as the number of hours the user spentexercising, or the heart rate associated with said user duringexercising. According to one embodiment, the process obtains theexercise data from a user phone, a wearable device, fitbit bracelet, ora database associated with said user. Based on the average bedtime forthat day of the week, and the exercise data during the day, the process,at block 1320, determines the expected bedtime associated with said userthat night. The process then sends an instruction to the bed device toheat to a desired temperature, before the expected bedtime. The desiredtemperature can be specified by the user, or can be determinedautomatically, based on the average nightly temperature associated withsaid user.

FIG. 14 is a flowchart of the process for controlling an appliance,according to another embodiment. The process, at block 1400, receivescurrent biological signal associated with said user, such as the heartrate, breathing rate, presence, motion, or temperature, associated withsaid user. Based on the current biological signal, the process, at block1410, identifies current sleep phase, such as light sleep, deep sleep,or REM sleep. The process, at block 1420 also receives a currentenvironment property value, such as the temperature, the humidity, thelight, or the sound. The process, at block 1430, accesses a database,which stores historical values associated with the environment propertyand the current sleep phase. That is, the database associates each sleepphase with an average historical value of the different environmentproperties. The database maybe associated with the bed device, maybeassociated with the user, or maybe associated with a remote server. Theprocess, at block 1440, then calculates a new average of the environmentproperty based on the current value of the environment property and thehistorical value of the environment property, and assigns the newaverage to the current sleep phase in the database. If there is amismatch between the current value of the environment property, and thehistorical average, the process, at block 1450, regulates the currentvalue to match the historical average. For example, the environmentproperty can be the temperature associated with the bed device. Thedatabase stores the average bed temperature corresponding to each of thesleep phase, light sleep, deep sleep, REM sleep. If the current bedtemperature is below the historical average, the process sends a controlsignal to increase the temperature of the bed to match the historicalaverage.

Monitoring of Biological Signals

Biological signals associated with a person, such as a heart rate or abreathing rate, indicate said person's state of health. Changes in thebiological signals can indicate an immediate onset of a disease, or along-term trend that increases the risk of a disease associated withsaid person. Monitoring the biological signals for such changes canpredict the onset of a disease, can enable calling for help when theonset of the disease is immediate, or can provide advice to the personif the person is exposed to a higher risk of the disease in thelong-term.

FIG. 15 is a diagram of a system for monitoring biological signalsassociated with a user, and providing notifications or alarms, accordingto one embodiment. Any number of user sensors 1530, 1540 monitor biosignals associated with said user, such as temperature, motion,presence, heart rate, or breathing rate. The user sensors 1530, 1540communicate their measurements to the processor 1500. The processor 1500determines, based on the bio signals associated with said user,historical biological signals associated with said user, oruser-specified preferences whether to send a notification or an alarm toa user device 1520. In some embodiments, the user device 1520 and theprocessor 1500 can be the same device.

The user device 1520 is any type of a mobile terminal, fixed terminal,or portable terminal including a mobile handset, station, unit, device,multimedia computer, multimedia tablet, Internet node, communicator,desktop computer, laptop computer, notebook computer, netbook computer,tablet computer, personal communication system (PCS) device, personalnavigation device, personal digital assistants (PDAs), audio/videoplayer, digital camera/camcorder, positioning device, televisionreceiver, radio broadcast receiver, electronic book device, game device,the accessories and peripherals of these devices, or any combinationthereof.

The processor 1500 is any type of microcontroller, or any processor in amobile terminal, fixed terminal, or portable terminal including a mobilehandset, station, unit, device, multimedia computer, multimedia tablet,Internet node, cloud computer, communicator, desktop computer, laptopcomputer, notebook computer, netbook computer, tablet computer, personalcommunication system (PCS) device, personal navigation device, personaldigital assistants (PDAs), audio/video player, digital camera/camcorder,positioning device, television receiver, radio broadcast receiver,electronic book device, game device, the accessories and peripherals ofthese devices, or any combination thereof.

The processor 1500 can be connected to the user sensor 1530, 1540 by acomputer bus, such as an I2C bus. Also, the processor 1500 can beconnected to the user sensor 1530, 1540 by a communication network 1510.By way of example, the communication network 1510 connecting theprocessor 1500 to the user sensor 1530, 1540 includes one or morenetworks such as a data network, a wireless network, a telephonynetwork, or any combination thereof. The data network may be any localarea network (LAN), metropolitan area network (MAN), wide area network(WAN), a public data network (e.g., the Internet), short range wirelessnetwork, or any other suitable packet-switched network, such as acommercially owned, proprietary packet-switched network, e.g., aproprietary cable or fiber-optic network, and the like, or anycombination thereof. In addition, the wireless network may be, forexample, a cellular network and may employ various technologiesincluding enhanced data rates for global evolution (EDGE), generalpacket radio service (GPRS), global system for mobile communications(GSM), Internet protocol multimedia subsystem (IMS), universal mobiletelecommunications system (UMTS), etc., as well as any other suitablewireless medium, e.g., worldwide interoperability for microwave access(WiMAX), Long Term Evolution (LTE) networks, code division multipleaccess (CDMA), wideband code division multiple access (WCDMA), wirelessfidelity (WiFi), wireless LAN (WLAN), Bluetooth®, Internet Protocol (IP)data casting, satellite, mobile ad-hoc network (MANET), and the like, orany combination thereof.

FIG. 16 is a flowchart of a process for generating a notification basedon a history of biological signals associated with a user, according toone embodiment. The process, at block 1600, obtains a history ofbiological signals, such as the presence history, motion history,breathing rate history, or heart rate history, associated with saiduser. The history of biological signals can be stored in a databaseassociated with a user. At block 1610, the process determines if thereis an irregularity in the history of biological signals within atimeframe. If there is an irregularity, at block 1620, the processgenerates a notification to the user. The timeframe can be specified bythe user, or can be automatically determined based on the type ofirregularity. For example, the heart rate associated with said user goesup within a one day timeframe when the user is sick. According to oneembodiment, the process detects an irregularity, specifically, that adaily heart rate associated with said user is higher than normal.Consequently, the process warns the user that the user may be gettingsick. According to another embodiment, the process detects anirregularity, such as that an elderly user is spending at least 10% moretime in bed per day over the last several days, than the historicalaverage. The process generates a notification to the elderly user, or tothe elderly user's caretaker, such as how much more time the elderlyuser is spending in bed. In another embodiment, the process detects anirregularity such as an increase in resting heart rate, by more than 15beats per minute, over a ten-year period. Such an increase in theresting heart rate doubles the likelihood that the user will die from aheart disease, compared to those people whose heart rates remainedstable. Consequently, the process warns the user that the user is atrisk of a heart disease.

FIG. 17 is a flowchart of a process for generating a comparison betweena biological signal associated with a user and a target biologicalsignal, according to one embodiment. The process, at block 1700, obtainsa current biological signal associated with a user, such as presence,motion, breathing rate, temperature, or heart rate, associated with saiduser. The process obtains said current biological signal from a sensorassociated with said user. The process, at block 1710, then obtains atarget biological signal, such as a user-specified biological signal, abiological signal associated with a healthy user, or a biological signalassociated with an athlete. According to one embodiment, the processobtains said target biological signal from a user, or a database storingbiological signals. The process, at block 1720, compares current biosignal associated with said user and target bio signal, and generates anotification based on the comparison 1730. The comparison of the currentbio signal associated with said user and target bio signal comprisesdetecting a higher frequency in the current biological signal then inthe target biological signal, detecting a lower frequency in the currentbiological signal than in the target biological signal, detecting higheramplitude in the current biological signal than in the target biologicalsignal, or detecting lower amplitude in the current biological signalthan in the target biological signal.

According to one embodiment, the process of FIG. 17 can be used todetect if an infant has a higher risk of sudden infant death syndrome(“SIDS”). In SIDS victims less than one month of age, heart rate ishigher than in healthy infants of same age, during all sleep phases.SIDS victims greater than one month of age show higher heart ratesduring REM sleep phase. In case of monitoring an infant for a risk ofSIDS, the process obtains the current bio signal associated with thesleeping infant, and a target biological signal associated with theheart rate of a healthy infant, where the heart rate is at the high endof a healthy heart rate spectrum. The process obtains the current biosignal from a user sensor associated with the sleeping infant. Theprocess obtains said target biological signal from a database ofbiological signals. If the frequency of the biological signal of theinfant exceeds the target biological signal, the process generates anotification to the infant's caretaker, that the infant is at higherrisk of SIDS.

According to another embodiment, the process of FIG. 17 can be used infitness training. A normal resting heart rate for adults ranges from 60to 100 beats per minute. Generally, a lower heart rate at rest impliesmore efficient heart function and better cardiovascular fitness. Forexample, a well-trained athlete might have a normal resting heart ratecloser to 40 beats per minute. Thus, a user may specify a target restheart rate of 40 beats per minute. The process FIG. 17 generates acomparison between the actual bio signal associated with said user andthe target bio signal 1720, and based on the comparison, the processgenerates a notification whether the user has reached his target, orwhether the user needs to exercise more 1730.

FIG. 18 is a flowchart of a process for detecting the onset of adisease, according to one embodiment. The process, at block 1800,obtains the current bio signal associated with a user, such as presence,motion, temperature, breathing rate, or heart rate, associated with saiduser. The process obtains the current bio signal from a sensorassociated with said user. Further, the process, at block 1810, obtainsa history of bio signals associated with said user from a database. Thehistory of bio signals comprises the bio signals associated with saiduser, accumulated over time. The history of biological signals can bestored in a database associated with a user. The process, at block 1820,then detects a discrepancy between the current bio signal and thehistory of bio signals, where the discrepancy is indicative of an onsetof a disease. The process, at block 1830, then generates an alarm to theuser's caretaker. The discrepancy between the current bio signal and thehistory of bio signals comprises a higher frequency in the current biosignal than in the history of bio signals, or a lower frequency in thecurrent bio signal than in the history of bio signals.

According to one embodiment, the process of FIG. 18 can be used todetect an onset of an epileptic seizure. A healthy person has a normalheart rate between 60 and 100 beats per minute. During epilepticseizures, the median heart rate associated with said person exceeds 100beats per minute. The process of FIG. 18 detects that the heart rateassociated with said user exceeds the normal heart rate range associatedwith said user. The process then generates an alarm to the user'scaretaker that the user is having an epileptic seizure. Although rare,epileptic seizures can cause the median heart rate associated with aperson to drop below 40 beats per minute. Similarly, the process of FIG.18 detects if the current heart rate is below the normal heart raterange associated with said user. The process then generates an alarm tothe user's caretaker that the user is having an epileptic seizure.

FIG. 19 is a diagrammatic representation of a machine in the exampleform of a computer system 1900 within which a set of instructions, forcausing the machine to perform any one or more of the methodologies ormodules discussed herein, may be executed.

In the example of FIG. 19, the computer system 1900 includes aprocessor, memory, non-volatile memory, and an interface device. Variouscommon components (e.g., cache memory) are omitted for illustrativesimplicity. The computer system 1900 is intended to illustrate ahardware device on which any of the components described in the exampleof FIGS. 1-18 (and any other components described in this specification)can be implemented. The computer system 1900 can be of any applicableknown or convenient type. The components of the computer system 1900 canbe coupled together via a bus or through some other known or convenientdevice.

This disclosure contemplates the computer system 1900 taking anysuitable physical form. As example and not by way of limitation,computer system 1900 may be an embedded computer system, asystem-on-chip (SOC), a single-board computer system (SBC) (such as, forexample, a computer-on-module (COM) or system-on-module (SOM)), adesktop computer system, a laptop or notebook computer system, aninteractive kiosk, a mainframe, a mesh of computer systems, a mobiletelephone, a personal digital assistant (PDA), a server, or acombination of two or more of these. Where appropriate, computer system1900 may include one or more computer systems 1900; be unitary ordistributed; span multiple locations; span multiple machines; or residein a cloud, which may include one or more cloud components in one ormore networks. Where appropriate, one or more computer systems 1900 mayperform without substantial spatial or temporal limitation one or moresteps of one or more methods described or illustrated herein. As anexample and not by way of limitation, one or more computer systems 1900may perform in real time or in batch mode one or more steps of one ormore methods described or illustrated herein. One or more computersystems 1900 may perform at different times or at different locationsone or more steps of one or more methods described or illustratedherein, where appropriate.

The processor may be, for example, a conventional microprocessor such asan Intel Pentium microprocessor or Motorola power PC microprocessor. Oneof skill in the relevant art will recognize that the terms“machine-readable (storage) medium” or “computer-readable (storage)medium” include any type of device that is accessible by the processor.

The memory is coupled to the processor by, for example, a bus. Thememory can include, by way of example but not limitation, random accessmemory (RAM), such as dynamic RAM (DRAM) and static RAM (SRAM). Thememory can be local, remote, or distributed.

The bus also couples the processor to the non-volatile memory and driveunit. The non-volatile memory is often a magnetic floppy or hard disk, amagnetic-optical disk, an optical disk, a read-only memory (ROM), suchas a CD-ROM, EPROM, or EEPROM, a magnetic or optical card, or anotherform of storage for large amounts of data. Some of this data is oftenwritten, by a direct memory access process, into memory during executionof software in the computer 1900. The non-volatile storage can be local,remote, or distributed. The non-volatile memory is optional becausesystems can be created with all applicable data available in memory. Atypical computer system will usually include at least a processor,memory, and a device (e.g., a bus) coupling the memory to the processor.

Software is typically stored in the non-volatile memory and/or the driveunit. Indeed, storing and entire large program in memory may not even bepossible. Nevertheless, it should be understood that for software torun, if necessary, it is moved to a computer readable locationappropriate for processing, and for illustrative purposes, that locationis referred to as the memory in this paper. Even when software is movedto the memory for execution, the processor will typically make use ofhardware registers to store values associated with the software, andlocal cache that, ideally, serves to speed up execution. As used herein,a software program is assumed to be stored at any known or convenientlocation (from non-volatile storage to hardware registers) when thesoftware program is referred to as “implemented in a computer-readablemedium.” A processor is considered to be “configured to execute aprogram” when at least one value associated with the program is storedin a register readable by the processor.

The bus also couples the processor to the network interface device. Theinterface can include one or more of a modem or network interface. Itwill be appreciated that a modem or network interface can be consideredto be part of the computer system 1900. The interface can include ananalog modem, isdn modem, cable modem, token ring interface, satellitetransmission interface (e.g. “direct PC”), or other interfaces forcoupling a computer system to other computer systems. The interface caninclude one or more input and/or output devices. The I/O devices caninclude, by way of example but not limitation, a keyboard, a mouse orother pointing device, disk drives, printers, a scanner, and other inputand/or output devices, including a display device. The display devicecan include, by way of example but not limitation, a cathode ray tube(CRT), liquid crystal display (LCD), or some other applicable known orconvenient display device. For simplicity, it is assumed thatcontrollers of any devices not depicted in the example of FIG. 9 residein the interface.

In operation, the computer system 1900 can be controlled by operatingsystem software that includes a file management system, such as a diskoperating system. One example of operating system software withassociated file management system software is the family of operatingsystems known as Windows® from Microsoft Corporation of Redmond, Wash.,and their associated file management systems. Another example ofoperating system software with its associated file management systemsoftware is the Linux™ operating system and its associated filemanagement system. The file management system is typically stored in thenon-volatile memory and/or drive unit and causes the processor toexecute the various acts required by the operating system to input andoutput data and to store data in the memory, including storing files onthe non-volatile memory and/or drive unit.

Some portions of the detailed description may be presented in terms ofalgorithms and symbolic representations of operations on data bitswithin a computer memory. These algorithmic descriptions andrepresentations are the means used by those skilled in the dataprocessing arts to most effectively convey the substance of their workto others skilled in the art. An algorithm is here, and generally,conceived to be a self-consistent sequence of operations leading to adesired result. The operations are those requiring physicalmanipulations of physical quantities. Usually, though not necessarily,these quantities take the form of electrical or magnetic signals capableof being stored, transferred, combined, compared, and otherwisemanipulated. It has proven convenient at times, principally for reasonsof common usage, to refer to these signals as bits, values, elements,symbols, characters, terms, numbers, or the like.

It should be borne in mind, however, that all of these and similar termsare to be associated with the appropriate physical quantities and aremerely convenient labels applied to these quantities. Unlessspecifically stated otherwise as apparent from the following discussion,it is appreciated that throughout the description, discussions utilizingterms such as “processing” or “computing” or “calculating” or“determining” or “displaying” or “generating” or the like, refer to theaction and processes of a computer system, or similar electroniccomputing device, that manipulates and transforms data represented asphysical (electronic) quantities within the computer system's registersand memories into other data similarly represented as physicalquantities within the computer system memories or registers or othersuch information storage, transmission or display devices.

The algorithms and displays presented herein are not inherently relatedto any particular computer or other apparatus. Various general purposesystems may be used with programs in accordance with the teachingsherein, or it may prove convenient to construct more specializedapparatus to perform the methods of some embodiments. The requiredstructure for a variety of these systems will appear from thedescription below. In addition, the techniques are not described withreference to any particular programming language, and variousembodiments may thus be implemented using a variety of programminglanguages.

In alternative embodiments, the machine operates as a standalone deviceor may be connected (e.g., networked) to other machines. In a networkeddeployment, the machine may operate in the capacity of a server or aclient machine in a client-server network environment, or as a peermachine in a peer-to-peer (or distributed) network environment.

The machine may be a server computer, a client computer, a personalcomputer (PC), a tablet PC, a laptop computer, a set-top box (STB), apersonal digital assistant (PDA), a cellular telephone, an iPhone, aBlackberry, a processor, a telephone, a web appliance, a network router,switch or bridge, or any machine capable of executing a set ofinstructions (sequential or otherwise) that specify actions to be takenby that machine.

While the machine-readable medium or machine-readable storage medium isshown in an exemplary embodiment to be a single medium, the term“machine-readable medium” and “machine-readable storage medium” shouldbe taken to include a single medium or multiple media (e.g., acentralized or distributed database, and/or associated caches andservers) that store the one or more sets of instructions. The term“machine-readable medium” and “machine-readable storage medium” shallalso be taken to include any medium that is capable of storing, encodingor carrying a set of instructions for execution by the machine and thatcause the machine to perform any one or more of the methodologies ormodules of the presently disclosed technique and innovation.

In general, the routines executed to implement the embodiments of thedisclosure, may be implemented as part of an operating system or aspecific application, component, program, object, module or sequence ofinstructions referred to as “computer programs.” The computer programstypically comprise one or more instructions set at various times invarious memory and storage devices in a computer, and that, when readand executed by one or more processing units or processors in acomputer, cause the computer to perform operations to execute elementsinvolving the various aspects of the disclosure.

Moreover, while embodiments have been described in the context of fullyfunctioning computers and computer systems, those skilled in the artwill appreciate that the various embodiments are capable of beingdistributed as a program product in a variety of forms, and that thedisclosure applies equally regardless of the particular type of machineor computer-readable media used to actually effect the distribution.

Further examples of machine-readable storage media, machine-readablemedia, or computer-readable (storage) media include but are not limitedto recordable type media such as volatile and non-volatile memorydevices, floppy and other removable disks, hard disk drives, opticaldisks (e.g., Compact Disk Read-Only Memory (CD ROMS), Digital VersatileDisks, (DVDs), etc.), among others, and transmission type media such asdigital and analog communication links.

In some circumstances, operation of a memory device, such as a change instate from a binary one to a binary zero or vice-versa, for example, maycomprise a transformation, such as a physical transformation. Withparticular types of memory devices, such a physical transformation maycomprise a physical transformation of an article to a different state orthing. For example, but without limitation, for some types of memorydevices, a change in state may involve an accumulation and storage ofcharge or a release of stored charge. Likewise, in other memory devices,a change of state may comprise a physical change or transformation inmagnetic orientation or a physical change or transformation in molecularstructure, such as from crystalline to amorphous or vice versa. Theforegoing is not intended to be an exhaustive list of all exam page onples in which a change in state for a binary one to a binary zero orvice-versa in a memory device may comprise a transformation, such as aphysical transformation. Rather, the foregoing is intended asillustrative examples.

A storage medium typically may be non-transitory or comprise anon-transitory device. In this context, a non-transitory storage mediummay include a device that is tangible, meaning that the device has aconcrete physical form, although the device may change its physicalstate. Thus, for example, non-transitory refers to a device remainingtangible despite this change in state.

Remarks

In many of the embodiments disclosed in this application, the technologyis capable of allowing multiple different users to use the same piece offurniture equipped with the presently disclosed technology. For example,different people can sleep in the same bed. In addition, two differentusers can switch the side of the bed that they sleep on, and thetechnology disclosed here will correctly identify which user is sleepingon which side of the bed. The technology identifies the users based onany of the following signals alone or in combination: heart rate,breathing rate, body motion, or body temperature associated with eachuser.

The foregoing description of various embodiments of the claimed subjectmatter has been provided for the purposes of illustration anddescription. It is not intended to be exhaustive or to limit the claimedsubject matter to the precise forms disclosed. Many modifications andvariations will be apparent to one skilled in the art. Embodiments werechosen and described in order to best describe the principles of theinvention and its practical applications, thereby enabling othersskilled in the relevant art to understand the claimed subject matter,the various embodiments, and the various modifications that are suitedto the particular uses contemplated.

While embodiments have been described in the context of fullyfunctioning computers and computer systems, those skilled in the artwill appreciate that the various embodiments are capable of beingdistributed as a program product in a variety of forms, and that thedisclosure applies equally regardless of the particular type of machineor computer-readable media used to actually effect the distribution.

Although the above Detailed Description describes certain embodimentsand the best mode contemplated, no matter how detailed the above appearsin text, the embodiments can be practiced in many ways. Details of thesystems and methods may vary considerably in their implementationdetails, while still being encompassed by the specification. As notedabove, particular terminology used when describing certain features oraspects of various embodiments should not be taken to imply that theterminology is being redefined herein to be restricted to any specificcharacteristics, features, or aspects of the invention with which thatterminology is associated. In general, the terms used in the followingclaims should not be construed to limit the invention to the specificembodiments disclosed in the specification, unless those terms areexplicitly defined herein. Accordingly, the actual scope of theinvention encompasses not only the disclosed embodiments, but also allequivalent ways of practicing or implementing the embodiments under theclaims.

The language used in the specification has been principally selected forreadability and instructional purposes, and it may not have beenselected to delineate or circumscribe the inventive subject matter. Itis therefore intended that the scope of the invention be limited not bythis Detailed Description, but rather by any claims that issue on anapplication based hereon. Accordingly, the disclosure of variousembodiments is intended to be illustrative, but not limiting, of thescope of the embodiments, which is set forth in the following claims.

1. A method comprising: obtaining a compound biological signalassociated with a user from a sensor; extracting a heart rate signalfrom said compound biological signal; extracting a breathing rate signalfrom said compound biological signal; obtaining a wake-up time specifiedby said user; determining sleep phase associated with said user based onsaid heart rate signal, and said breathing rate signal; and activatingan alarm based on said sleep phase and said wake-up time specified bysaid user.
 2. The method of claim 1, wherein activating the alarmcomprises: checking that said sleep phase is light sleep; and checkingthat current time is at most one hour before said wake-up time specifiedby said user.
 3. The method of claim 1, wherein said alarm comprises avibrating alarm attached to a cover, or a vibrating alarm attached to amattress associated with said user.
 4. The method of claim 1, whereinsaid alarm comprises a wearable alarm.
 5. The method of claim 1, furthercomprising storing said heart rate signal and said breathing rate signalassociated with said sleep phase associated with said user in adatabase.
 6. The method of claim 1, further comprising identifying saiduser based on at least one of: said heart rate signal, or said breathingrate signal.
 7. The method of claim 1, wherein said sleep phasecomprises light sleep, deep sleep, or REM sleep.
 8. The method of claim1, wherein extracting said breathing rate signal from said compoundbiological signal comprises performing low-pass filtering of saidcompound biological signal.
 9. The method of claim 1, wherein extractingsaid heart rate signal from said compound biological signal comprisesperforming bandpass filtering of said compound biological signal.
 10. Amethod comprising: obtaining a compound biological signal associatedwith a user; extracting a heart rate signal from said compoundbiological signal; extracting a breathing rate signal from said compoundbiological signal and; obtaining an environment property; determining asleep phase associated with said user based on said heart rate signal,said breathing rate signal, and said environment property; anddetermining a time to turn off an appliance based on said sleep phaseand said environment property.
 11. The method of claim 10, whereindetermining the time to turn off said appliance comprises determiningthat said user is asleep.
 12. The method of claim 10, wherein saidappliance comprises a light, an entertainment device, or a thermostat.13. The method of claim 10, further comprising identifying said userbased on at least one of: said heart rate signal, or said breathing ratesignal.
 14. The method of claim 10, wherein said sleep phase comprises alight sleep, a deep sleep, or a REM sleep.
 15. The method of claim 10,wherein said environment property comprises a temperature, a humidity, alight intensity, a sound, or a current time.
 16. The method of claim 10,wherein extracting said breathing rate signal from said compoundbiological signal comprises performing low-pass filtering of saidcompound biological signal.
 17. The method of claim 10, whereinextracting said heart rate signal from said compound biological signalcomprises performing bandpass filtering of said compound biologicalsignal.
 18. A method comprising: obtaining a history of sleep phaseinformation associated with a user from a database; obtaining a wake-uptime specified by said user; obtaining exercise information associatedwith said user; and recommending a bedtime to said user based on saidhistory of sleep phase information, said wake-up time specified by saiduser, and said exercise information associated with said user.
 19. Themethod of claim 18, wherein said exercise information comprises dailyexercise information associated with said user.
 20. The method of claim18, wherein said history of sleep phase information comprises an amountof time said user spent in light sleep during each day of a week, anamount of time said user spent in deep sleep during each day of a week,or an amount of time said user spent in REM sleep during each day of aweek.
 21. The method of claim 18, wherein said history of sleep phaseinformation comprises a plurality of average bedtimes associated withsaid user, wherein each average bedtime of said plurality of averagebedtimes corresponds to a day of a week.
 22. A system comprising: astorage medium, communicatively coupled to a computer processor; andsaid computer processor, said computer processor configured to: obtain ahistory of sleep phase information associated with a user from adatabase; and obtain a wake-up time specified by said user; and obtainexercise information associated with said user; and recommend a bedtimefor said user based on said history of sleep phase information, saidwake-up time specified by said user, and said exercise informationassociated with said user.
 23. The system of claim 22, wherein saidexercise information comprises daily exercise information associatedwith said user.
 24. The system of claim 22, wherein said history ofsleep phase information comprises an amount of time said user spent inlight sleep during each day of a week, an amount of time said user spentin deep sleep during each day of a week, or an amount of time said userspent in REM sleep during each day of a week.
 25. The system of claim22, wherein said history of sleep phase information comprises aplurality of average bedtimes associated with said user, wherein eachaverage bedtime of said plurality of average bedtimes corresponds to aday of a week.